package com.fanwj.citrus.aidl.proxy;

import android.os.Parcel;
import android.os.Parcelable;

import androidx.annotation.NonNull;

public interface ParcelableProxy extends Parcelable {

    @Override
    default void writeToParcel(@NonNull Parcel dest, int flags) {
        writeToParcel(new com.fanwj.citrus.aidl.android.os.Parcel(dest), flags);
    }

    void writeToParcel(com.fanwj.citrus.aidl.android.os.Parcel dest, int flags);


    interface Creator<T> extends Parcelable.Creator<T> {

        @Override
        default T createFromParcel(Parcel source) {
            return createFromParcel(new com.fanwj.citrus.aidl.android.os.Parcel(source));
        }

        T createFromParcel(com.fanwj.citrus.aidl.android.os.Parcel source);
    }
}
